#ifndef BLOQUETEXTOENTRADA_H_
#define BLOQUETEXTOENTRADA_H_
#include <string>
#include <fstream>
#include "BloqueTexto.h"

using namespace std;

class BloqueTextoEntrada : public BloqueTexto
{
	private:
		int sizeRealDelBuffer;
		int sizeActual;
		int cantCaracteresValidos;
		bool finBloq;
		bool finArch;
		ifstream *archivo;
		bool _leyomenos;
		
		///////////
		int contador;
		////////

	public:
		char *bloque;
		BloqueTextoEntrada(){};
		BloqueTextoEntrada(string nombrearchivo);
		virtual ~BloqueTextoEntrada();
		bool leyomenos(){return _leyomenos;}
		bool finBloque() { return finBloq; }
		bool finArchivo() { return finArch; }
		void setTexto(char *t) { bloque = t;}
		void llenarBloque();
		char operator[](int n);
		char getCaracterEnPos(int pos) {return bloque[pos]; }
		int getCantCaracteresValidos() { return cantCaracteresValidos; }
		void setFinBloque(bool fb) { finBloq = fb; }
		void setFinArch(bool fa) { finArch = fa; }
		void setCantCaracteresValidos(int cant) {cantCaracteresValidos = cant; }
		int getSizeActual() { return sizeActual; }

};

#endif /*BLOQUETEXTOENTRADA_H_*/
